Karbon平台服務(KPS)是以Kubernetes為基礎的多雲端 PaaS,可以在微服務的應用程式中以及任何雲端上快速的開發和部署,從簡易的狀態容器化應用程式到復雜的AI,IoT(物聯網) 和混合應用程式。
本教程將指導您使用 KPS 部署和更新範例中的Kubernetes應用程式。該應用程式將部署到 KPS 服務域並在該服務域執行。本教程假定您已經使用《Karbon Platform Services管理指南》中的步驟部署了Service Domain,並且已配置 Service Domain 與工作站之間的網絡連接(以查看示例 Web 應用程式輸出)。通過 My Nutanix 門戶可以觀看管理指南,並且需要帳戶登錄。
為簡便起見,本教程中的幾個組件應用程式已合併到各個部署清單(Kubernetes YAML或Helm圖表)中。這不是典型的生產部署,在典型的生產部署中,所有應用程式和服務都使用標準 CI / CD(持續集成,持續部屬) 管道中的API調用,作為獨立的應用程式部署。
在瀏覽器中打開 https://mynutanix.com 。如果您還沒有 My Nutanix 帳戶,請按照以下步驟創建一個。
滾動到 Cloud Services 部分,然後點擊 "啟動" 以訪問 Karbon Platform Services 雲管理控制台。此時,您應該擁有一個帶有默認用戶(您),項目類別的儀表板。
作為本教程的部分部署應用程式,是一個典型的內容管理系統,用戶可以在系統中發布部落格、文章,而其他人可以在其中添加評論。您還可以使用分析術語的功能,以告知作者文章評論中最受歡迎的術語。
以下是用於構建應用程式的組件:
以下步驟將說明如何在KPS上部署Woodkraft應用程式。
在KPS中,項目用於分割像是 Kubernetes Apps 和其他服務之類的資源,只有分配的用戶才能查看和修改它們。這使不同的部門或團隊可以利用共享的服務域雲端資源,而不會干擾彼此的應用程式或業務邏輯。
作為本教程的一部分,您將創建一個新項目以部署範例的應用程式。
1.登錄 Karbon Platform Services 雲端管理控制台後,進入“項目”部分。
2.創建一個項目,將其命名為 Woodkraft Application ,將您自己添加為User,然後點擊Next。
3.在“資源分配”對話框上,選擇要執行的應用程式服務域,然後點擊“下一步”。
4.KPS可以本地發送到多個公共雲服務,例如AWS S3或GCP Cloud Datastore。在本教程中,
“雲端配置文件選擇”可以保持空白,因為不會使用任何雲端資源。
5.KPS可以使用儲存在公共或私人註冊表中的圖像來執行 Kubernetes Apps。通過創建KPS容器註冊表配置文件來儲存
所需的訪問資訊,來訪問私有註冊表。
6.由於本教程使用的是公共註冊表中託管的容器,因此“容器註冊表選擇”可以保留為空白。
7.在最後一部分中,啟用Kafka,Prometheus,Traefik和Istio服務,然後點擊"Create"。
接下來,您將上傳一個 Helm 圖表,該圖表將部署該應用程式所需的微服務,例如Wordpress,Debezium,Prometheus和 MySQL 。Prometheus 將用於事件監視和應用程式警報。上面介紹了其他應用程式的目的。
1.在新的瀏覽器標籤或窗口中,下載標有 woodkraft-apps 的壓縮tar文件。
2.該文件包含用於部署第一組 Kubernetes Apps 的 Helm 圖表。
3.在“項目”下拉選單中將上下文切換到“ Woodkraft應用程式”,然後點擊“ Kubernetes Apps”。
4.創建一個新的Kubernetes App並將其命名為woodkraft-apps。在“服務域選擇”部分中,確保選擇為項目選擇的服務
域,然後點擊“下一步”。
5.在“配置”對話框上,上傳先前以 Helm 圖表形式下載的woodkraft-apps tar文件。
6.選擇 “顯示YAML ”以查看範例配置,然後點擊“創建”。
7.該Helm圖表將部署主要的應用程式服務,例如 Wordpress,Debezium,Prometheus 和 MySQL。
1.瀏覽到用戶介面中的Istio部分,並確認現在存在於woodkraft應用程式中的新應用程式度量標準。
2.瀏覽到UI中的Kafka部分,並限制新的wordpress_db主題創建。
3.瀏覽到UI中的Traefik部分,以確認為woodkraft-apps創建了新的入口規則。
下一張 Helm 圖表將部署監視服務,例如 Grafana ,並將對 Traefik 規則進行編輯。當連接到支援的數據源時, Grafana 可為 Web 提供圖表、圖形和警報。它可以通過插件系統擴展。最終用戶可以使用交互式查詢構建器來創建複雜的監視儀表板。Traefik 入口允許內容的路由器,負載平衡和 SSL / TLS 終止。
1.下載標有 woodkraft-monitoring 的壓縮tar文件。
2.在 Woodkraft Application 項目的上下文中再次點擊 Kubernetes Apps 。
3.創建一個新的 Kubernetes 應用程式,並將其命名為 woodkraft-monitoring。
4.為項目選擇相同服務域,然後點擊"下一步"。
5.在“配置”對話框上,將監視tar文件作為 Helm 圖表上傳,然後點擊創建。
6.瀏覽到用戶介面中的Traefik部分,並確認已創建Grafana的新入口規則。
該應用程式現已部署,並應該可以在您的服務域上成功執行。
創建兩個新的 DNS 記錄,以呈現上面創建的 woodkraft.karbon.nutanix.com 和grafana.woodkraft.karbon.nutanix.com。這是 Traefik 規則中使用的主機名和 IP 地址。為了簡單化,在您的本地工作站上,將主機名添加到/ etc / hosts文件中。
echo "<Service Domain IP> woodkraft.karbon.nutanix.com" | sudo tee -a /etc/hosts
echo "<Service Domain IP> grafana.woodkraft.karbon.nutanix.com" | sudo tee -a /etc/hosts
echo <Service Domain IP> woodkraft.karbon.nutanix.com >> %WINDIR%\System32\Drivers\Etc\Hosts
echo <Service Domain IP> grafana.woodkraft.karbon.nutanix.com >> %WINDIR%\System32\Drivers\Etc\Hosts
造訪 woodkraft.karbon.nutanix.com 並確認該應用程式成功執行。
1.造訪 grafana.woodkraft.karbon.nutanix.com。
2.輸入 admin 作為用戶名和密碼。
3.輸入您選擇的密碼。(這將是以後使用管理員用戶名登錄的密碼)
4.查看連接到 Woodkraft 應用程式的 Grafana 儀表板。
最終的 Helm 圖表將更新推送到已經部署的應用程式。此更新將部署附加推薦服務,並為當前在應用程式中執行的推薦服務修改 Istio 虛擬服務配置。來自 Firefox 瀏覽器的連接現在將定向到推薦服務 v2 。在 KPS 中,Istio 提供流量管理,安全連接,策略執行和遙測收集。
1.下載標有 woodkraft-smart-update 的壓縮tar文件。
2.在 Woodkraft Application 項目的上下文中再次點擊 Kubernetes Apps。
3.創建一個新的 Kubernetes 應用程式並將其命名為 woodkraft-updates 。同樣,請確保選擇相同服務域,然後點擊“下一步”。
4.在“配置”對話框上,將智能更新tar文件上傳為 Helm 圖表,然後點擊創建。
5.瀏覽到UI中的 Istio,“虛擬服務”部分,並確認正在執行兩個推薦服務。
6.在Firefox中打開 woodkraft.karbon.nutanix.com 並查看更新的推薦服務。
恭喜你!您已成功將 Kubernetes 應用程式部署到服務域,然後使用 Karbon Platform Services 對其進行更新。KPS使管理服務域及其上的服務,應用程式和數據的部署和監視變得簡單。
https://github.com/nutanix/karbon-platform-services/tree/master/projects/woodkraft
請至原文下載相關套件